创建流程doCreateWorkflowRequest

1、生成WorkflowRequestInfo对象 
WorkflowRequestInfo对象属性层级参考下图说明

 
3、WorkflowRequestInfo对象说明

流程接口中,请求对象类为WorkflowRequestInfo, 对象参见属性如下。

    private java.lang.String createTime;//创建时间
private java.lang.String creatorId;//创建人
private java.lang.String creatorName;//创建人姓名
private java.lang.String currentNodeId;//当前节点ID
private java.lang.String currentNodeName;//当前节点名称
private java.lang.String lastOperateTime;//最后操作时间
private java.lang.String lastOperatorName;//最后操作人姓名
private java.lang.String messageType;//消息提醒类型
private java.lang.Boolean mustInputRemark;//签字意见必填
private java.lang.String receiveTime;//接收时间
private java.lang.String remark;//当前签字意见
private java.lang.String requestId;//请求id
private java.lang.String requestLevel;//紧急程度
private java.lang.String requestName;//请求名称
private java.lang.String status;//流程状态
private weaver.workflow.webservices.WorkflowBaseInfo workflowBaseInfo;//流程信息对象
private weaver.workflow.webservices.WorkflowDetailTableInfo[] workflowDetailTableInfos;
//明细表数据
private java.lang.String[] workflowHtmlTemplete;//HTML模板
private weaver.workflow.webservices.WorkflowMainTableInfo workflowMainTableInfo;
//主表信息
private java.lang.String[][] workflowPhrases;//流程批示语
private weaver.workflow.webservices.WorkflowRequestLog[] workflowRequestLogs;//流转日志

 

4、调用方法说明

根据请求信息对象创建一条新的流程,请求信息对象中需包含创建人、创建流程id和表单的数据

方法名 作用 参数
创建新流程 doCreateWorkflowRequest WorkflowRequestInfo wri :请求信息对象
userId : 用户id
 

5、示例代码

示例流程

以下述流程为例,进行调用流程相关的接口

 
流程相关表单字段信息
 

 

调用流程创建相关的接口示例代码

 

    public static void createRequest() throws Exception {
//主字段
WorkflowRequestTableField[] wrti = new WorkflowRequestTableField[6]; //字段信息
wrti[0] = new WorkflowRequestTableField();
wrti[0].setFieldName("sqr");//
wrti[0].setFieldValue("14");//
wrti[0].setView(true);//字段是否可见
wrti[0].setEdit(true);//字段是否可编辑

wrti[1] = new WorkflowRequestTableField();
wrti[1].setFieldName("bm");//
wrti[1].setFieldValue("13");
wrti[1].setView(true);
wrti[1].setEdit(true);

wrti[2] = new WorkflowRequestTableField();
wrti[2].setFieldName("sqsj");//
wrti[2].setFieldValue("2016-09-01");
wrti[2].setView(true);
wrti[2].setEdit(true);

wrti[3] = new WorkflowRequestTableField();
wrti[3].setFieldName("xgfj");//附件1
wrti[3].setFieldType("http:baidu_sylogo1.gif|http:126logo.gif");//http:开头代表该字段为附件字段
wrti[3].setFieldValue("http://www.baidu.com/img/baidu_sylogo1.gif|http://mimg.127.net/logo/126logo.gif");//附件地址
wrti[3].setView(true);
wrti[3].setEdit(true);

wrti[4] = new WorkflowRequestTableField();
wrti[4].setFieldName("spld");//审批领导
wrti[4].setFieldValue("3,4");
wrti[4].setView(true);
wrti[4].setEdit(true);

wrti[5] = new WorkflowRequestTableField();
wrti[5].setFieldName("spsy");//事由
wrti[5].setFieldValue("这里是个多上多行文本的内容。。。");
wrti[5].setView(true);
wrti[5].setEdit(true);

WorkflowRequestTableRecord[] wrtri = new WorkflowRequestTableRecord[1];//主字段只有一行数据
wrtri[0] = new WorkflowRequestTableRecord();
wrtri[0].setWorkflowRequestTableFields(wrti);

WorkflowMainTableInfo wmi = new WorkflowMainTableInfo();
wmi.setRequestRecords(wrtri);


int detailrows = 3 ;//添加指定条数明细
//添加明细数据
wrtri = new WorkflowRequestTableRecord[detailrows];//添加指定条数行明细数据

for(int i = 0 ; i < detailrows ; i++){
//每行明细对应的字段
wrti = new WorkflowRequestTableField[4]; //字段信息
wrti[0] = new WorkflowRequestTableField();
wrti[0].setFieldName("rq");//单价
wrti[0].setFieldValue("2016-09-2"+i);
wrti[0].setView(true);//字段是否可见
wrti[0].setEdit(true);//字段是否可编辑

wrti[1] = new WorkflowRequestTableField();
wrti[1].setFieldName("xh");//数量
wrti[1].setFieldValue("型号001"+i);
wrti[1].setView(true);
wrti[1].setEdit(true);

wrti[2] = new WorkflowRequestTableField();
wrti[2].setFieldName("lx");//类型 下拉框
wrti[2].setFieldValue(""+i);
wrti[2].setView(true);
wrti[2].setEdit(true);

wrti[3] = new WorkflowRequestTableField();
wrti[3].setFieldName("jg");//价格
wrti[3].setFieldValue("1"+i+".50");
wrti[3].setView(true);
wrti[3].setEdit(true);

wrtri[i] = new WorkflowRequestTableRecord();
wrtri[i].setWorkflowRequestTableFields(wrti);
}
//添加到明细表中
WorkflowDetailTableInfo WorkflowDetailTableInfo[] = new WorkflowDetailTableInfo[1];//指定明细表的个数,多个明细表指定多个,顺序按照明细的顺序
WorkflowDetailTableInfo[0] = new WorkflowDetailTableInfo();
WorkflowDetailTableInfo[0].setWorkflowRequestTableRecords(wrtri);

//添加工作流id
WorkflowBaseInfo wbi = new WorkflowBaseInfo();
wbi.setWorkflowId("38");//workflowid 流程接口演示流程2016==38

WorkflowRequestInfo wri = new WorkflowRequestInfo();//流程基本信息
wri.setCreatorId("14");//创建人id
wri.setRequestLevel("2");//0 正常,1重要,2紧急
wri.setRequestName("2016-09-24 001");//流程标题
wri.setWorkflowMainTableInfo(wmi);//添加主字段数据
wri.setWorkflowDetailTableInfos(WorkflowDetailTableInfo);//添加明细数据
wri.setWorkflowBaseInfo(wbi);

WorkflowServicePortTypeProxy WorkflowServicePortTypeProxy = new WorkflowServicePortTypeProxy(url);
String requestid = WorkflowServicePortTypeProxy.doCreateWorkflowRequest(wri, 14);
System.out.println("requestid:"+requestid);

}

调用流程创建接口返回对应的结果

登录系统打开流程,

6、返回值说明

返回请求创建成功的requestid或者创建失败的错误代码

返回值 说明
requestid > 0 创建流程成功,返回请求id
requestid = -1 创建流程失败
requestid = -2 用户没有流程创建权限
requestid = -3 创建流程基本信息失败
requestid = -4 保存表单主表信息失败
requestid = -5 更新紧急程度失败
requestid = -6 流程操作者失败
requestid = -7 流转至下一节点失败
requestid = -8 节点附加操作失败